import { ElMessage, ElMessageBox } from 'element-plus'
const FunXiaohe = {
  // 提示删除
  DelMessageBox: (title = '是否删除', type = 'warning', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`注：${title}`, type, {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },
  // 提示保存
  SubMessageBox: (title = '是否保存', type = 'warning', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`注：${title}`, type, {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },
  // 提示解冻 封存
  FreezMessageBox: (title = '是否解冻/封存', type = 'warning', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`注：${title}`, type, {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },
  // 批量审核
  FreezMessageBox1: (title = '是否', type = '', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`${title}`, type, {
        confirmButtonText: '通过',
        cancelButtonText: '不通过',
        showClose: false, // 不显示关闭按钮
        closeOnPressEscape: false, // 按下Esc键不关闭
        closeOnClickModal: false // 点击遮罩层不关闭
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },
  // 拉取
  pullMessageBox: (title = '是否', type = '', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`${title}`, type, {
        confirmButtonText: '拉取',
        cancelButtonText: '取消',
        showClose: false, // 不显示关闭按钮
        closeOnPressEscape: false, // 按下Esc键不关闭
        closeOnClickModal: false // 点击遮罩层不关闭
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },
  // 提示审核
  ExamineMessageBox: (title = '是否确定提交审核？', type = 'warning', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`注：${title}`, type, {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },
  // 撤销审核提示
  RevokeMessageBox: (title = '是否确定撤销审核？', type = 'warning', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`注：${title}`, type, {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },
  //
  MessageBox: (title = '是否', type = 'warning', fun) => {
    return new Promise((v, j) => {
      ElMessageBox.confirm(`注：${title}`, type, {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
        .then(() => {
          v(true)
        })
        .catch(() => {
          v(false)
        })
    })
  },

  // 提示
  Mes: (type, cemment) => {
    ElMessage[type](cemment)
  },
  // 成功提示
  successMsg: cemment => {
    ElMessage['success'](cemment)
  },
  // 失败提示
  errorMsg: cemment => {
    ElMessage['error'](cemment)
  },
  // 警告提示
  warningMsg: cemment => {
    ElMessage['warning'](cemment)
  },
  // 提示 表单提示
  formMsg: () => {
    ElMessage['warning']('请填写完整')
  },
  // 表单校验 类别编码不为汉字
  noChinese: (rule, value, callback) => {
    if (!/^[^\u4e00-\u9fa5]+$/.test(value)) return callback(new Error('编码不能包含汉字'))
    callback()
  },

  // 表单验证 ,编码只能由数字、字母、下划线组成
  alphabet: (rule, value, callback) => {
    if (!/^[0-9a-zA-Z_]{1,}$/.test(value)) return callback(new Error('编码只能由数字、字母、下划线组成'))
    callback()
  },

  // 输入框必须为正整数
  isNumber: (rule, value, callback) => {
    if (!/^[0-9]*[1-9][0-9]*$/.test(value)) return callback(new Error('请输入正整数'))
    callback()
  },
  voicePrompt: text => {
    new Audio('http://tts.baidu.com/text2audio?cuid=baiduid&lan=zh&ctp=1&pdt=311&tex=' + text).play()
  },
  // 校验 不能小于1
  check: value => {
    if (value < 1) {
      ElMessage['warning']('此项不能小于1')
      return false
    } else {
      return true
    }
  }
}

export default FunXiaohe
